b231ac836b6ae6e4eaa6f1b20d3af86f0d49a52e,compilers/official-network-plugins/src/main/java/org/thingml/networkplugins/js/JSKevoreePlugin.java,JSKevoreePlugin,generateKevoreeListener,#StringBuilder#Context#boolean#Property#Instance#boolean#String#,478
Before Change
if (!isGlobal) //per instance mapping
builder.append("this." + i.getName() + "." + ctx.getVariableName(p) + " = this.dictionary." + accessor + "('" + i.getName() + "_" + ctx.getVariableName(p) + "');");
else
builder.append("this." + i.getName() + "." + ctx.getVariableName(p) + " = this.dictionary." + accessor + "('" + ctx.getVariableName(p) + "');");
}
private void generateThingMLListener(StringBuilder builder, Context ctx, Property p, Instance i, String accessor, boolean isGlobal) {
After Change
}
}
private void generateKevoreeListener(StringBuilder builder, Context ctx, boolean isNumber, Property p, Instance i, boolean isGlobal, String accessor) {
//Update ThingML properties when Kevoree properties are updated
if (!isGlobal) //per instance mapping
builder.append("this.dictionary.on('" + i.getName() + "_" + ctx.getVariableName(p) + "', function (newValue) {");
else
builder.append("this.dictionary.on('" + ctx.getVariableName(p) + "', function (newValue) {");
if (isNumber) {
builder.append("newValue = Number(newValue);\n");
}
/*if (!isGlobal) {//per instance mapping
builder.append("console.log(\"Kevoree attribute " + i.getName() + "_" + ctx.getVariableName(p) + " updated...\");\n");
} else {
builder.append("console.log(\"Kevoree attribute " + ctx.getVariableName(p) + " updated...\");\n");
}*/
//builder.append("if(this." + i.getName() + "." + ctx.getVariableName(p) + " !== newValue) { ");
//builder.append("console.log(\"updating ThingML attribute...\");\n");
if(!((JSCompiler)ctx.getCompiler()).multiThreaded) {
builder.append("this." + i.getName() + "." + ctx.getVariableName(p) + " = newValue;");
} else {
builder.append("this." + i.getName() + ".send({lc: 'set', property: '" + p.getName() + "', value: newValue});");
}
//builder.append("}");
builder.append("});\n");
//Force update on startup, as listeners might be registered too late the first time
if(!((JSCompiler)ctx.getCompiler()).multiThreaded) {
builder.append("this." + i.getName() + "." + ctx.getVariableName(p) + " = ");
} else {
builder.append("this." + i.getName() + ".send({lc: 'set', property: '" + p.getName() + "', value: ");
}
if (!isGlobal) //per instance mapping
builder.append("this.dictionary." + accessor + "('" + i.getName() + "_" + ctx.getVariableName(p) + "')");
else
builder.append("this.dictionary." + accessor + "('" + ctx.getVariableName(p) + "')");
if(((JSCompiler)ctx.getCompiler()).multiThreaded) {